package com.ymh.spring.learn.aop.aspect;

import org.aspectj.lang.annotation.AfterReturning;
import org.aspectj.lang.annotation.AfterThrowing;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
/**
 * 
 * 名称：Audience1<br/> 
 * 描述：原始版本<br/>
 * 创建时间：2018年3月21日 下午6:31:27 <br/>
 * 
 * @author aivin
 * @version 1.0.0
 */
@Aspect
public class Audience1 {
	

	/*
	 * 表演之前
	 */
	@Before("execution(** com.ymh.spring.learn.aop.service.Performance.perform(..))")
	public void silenceCellPhones() {
		System.out.println("Silence cell phones");
	}

	/*
	 * 表演之前
	 */
	@Before("execution(** com.ymh.spring.learn.aop.service.Performance.perform(..))")
	public void takeSeats() {
		System.out.println("Silence cell phones");
	}

	/*
	 * 表演之后
	 */
	@AfterReturning("execution(** com.ymh.spring.learn.aop.service.Performance.perform(..))")
	public void applause() {
		System.out.println("Silence cell phones");
	}

	/*
	 * 表演失败之后
	 */
	@AfterThrowing("execution(** com.ymh.spring.learn.aop.service.Performance.perform(..))")
	public void demandRefund() {
		System.out.println("Silence cell phones");
	}

}
